Load Characteristic Model: PERC2

Available in July 28, 2026 path of Version 24

PERC2 is an acronym for the Power Electronic Reconnecting and Ceasing load model.

PERC2 is a modification of the PERC1 model which itself is based on LDEV1 which was based on the model developed by EPRI summarized in the November 2022 report entitled

"A Positive Sequence Model for Aggregated Representation Electric Vehicle Chargers"

EPRI Project 1-116982

written by L. Sundaresh and P. Matra

 

The model expands the PERC1 model from 30 input parameters to 57 to provide additional features and complexity. If PERC1 is appropriate for modeling your load, we would recommend using PERC1 as it is less complex. As with PERC1, this model is appropriate to represent any aggregation of a large number of power electronic loads. Examples would be an electrical vehicle charging, a large number of computers such as a data center, a cryptocurrency mining facility, a large number of variable frequency drives, and so on.

 

The changes made to PERC1 to create the PERC2 are as follows.

  1. (Change of interpretation for Tramp values. )
    After releasing the PERC1 model in 2025, it became clear that the Tramp value represents not a time, but instead a ramp rate used when devices come back from a cease event. Tramp was changed in PERC2 so that it now represents the time over which a ramp occurs when the portion of the model that reconnects goes from fully ceased to the fully reconnected when operating at rated power. Because the device limit is actually a ramp rate limit, if the device is operating at a fraction of its rated power, then the amount of time for the ramp should be scaled by this fraction. The parameter Lfm represents the Load factor of the device. Internally in the model, a value TrampUsed will be calculated as equal to Tramp*Lfm. Thus if it takes 10 seconds to ramp when operating at rating power, then if Lfm = 0.30 it will instead only take 3 seconds to ramp. Same logic will be applied when using the TLrampL and TLrampH values as well.

  2. (Add 1 parameter)
    Imax added a total current limit which is used in combination with the existing Ipmin, Ipmax, Iqmin, and Iqmax values. A value of 0 can be entered for Imax to indicate the parameter is not used.

  3. (Add 1 parameter)
    The Reconnection Zone adds a high voltage threshold (VLrecon <= Vfilt <= VHrecon). Previous Vrecon is now called VLrecon.

  4. (Add 1 parameter)
    The Cease zone adds a high voltage threshold (VLcease <= Vfilt <= VHcease). Previous Vcease is now called VLcease.

  5. (Add 10 parameters)
    Four Long Cease Low Voltage threshold/timer pairs (VLC1/TVLC1 ... VLC4/TVLC4) for a low voltage cease zone. When entering this zone the time for reconnection is TLreconL and the time for ramping is TLrampL*Lfm) (These represent a Long reconnection and ramp time for a Low voltage excursion). As indicated by the names, the expectation is that this times will be longer than for the original Cease Zone.

  6. (Add 10 parameters)
    Four Long Cease High Voltage threshold/timer pairs (VHC1/TVHC1 ... VHC4/TVHC4) for a high voltage cease zone. When entering this zone the time of reconnection is (TLreconH and the time for ramping is TLrampH*Lfm) (These represent the Long reconnection and ramp time for a High voltage excursion). As indicated by the names, the expectation is that this times will be longer than for the original Cease Zone.

  7. (Add 4 parameters)
    Both Low and High Frequency threshold/timer pairs (FLC1/TFLC1 and FHC1/TFHC1) for a frequency cease zone. When entering this zone, then no reconnection will occur.

Description of the PERC2

This model can be used to represent any aggregation of a large number of power electronic loads. Examples would be an electrical vehicle charging station, a large number of computers such as a data center, a crypto-currency mining facility, a large number of variable frequency drives, and so on.

The values MWinit and Mvarinit on the left of the block diagram below are calculated as part of the stability simulation initialization routine. MWInit is set equal to the initial MW of the load. When this model is used inside the CompLoad component-based load structure, then the parameter QPRatio is used to calculate the Mvarinit value and any extra Mvars are assigned as done with the CompLoad. When this model is used as a stand-alone model as part of a LoadModelGroup, Load, Bus, Area, etc. then the QPRatio is ignored and the Mvarinit is set equal to the load's initial Mvar. If a simple event occurs in the simulation and the final voltage returns to the initial voltage and the cease and reconnect logic is never engaged during the simulation, then this model will bring the MW and Mvar back to the same as the initial condition. The top half of the block diagram below represents the real power (MW) response of the load while the bottom half of the block diagram represents the reactive power (Mvar) response.

The dynamic portion of this model is described in the left side of the block diagram by the dynamic states 1 - 6 . The washout blocks (Kvp/Tvp and Kvq/Tvq parameters) model a response where the model load will decrease when a decreasing voltage is encountered (such as after and during a fault) and the load will then increase when the voltage is increasing (during fault recovery). This is meant to model a device such as a variable frequency drive which may reduce the electrical power during a fault, but then after the fault clears an additional amount of load will be seen to re-accelerate the mechanical load that the VFD is driving. This model is not simulating any characteristics of the mechanical load or the control system that causes this behavior, but is using the simple washout blocks to approximation the behavior. The MW control path also includes a simple frequency droop with deadband response that the load may have. After this the lead lag blocks are used to model any other transient response of the real and reactive loads. This leads to States 1 and 2 in the block diagram below which represent the model's request for a per unit power based on the initial voltage Vinit.

After this, both the real power and reactive portions of this model have a user input which is the exponent of the voltage relationship relative to the initial voltage. Any value of nP and nQ is allowed, but it is useful to realize that nP = 0 indicates a constant power at steady state, nP = 1 indicates constant current, and nP = 2 indicates constant impedance. After the exponent, it then divides by per unit voltage to convert to a current signal. The limits Ipmax/Ipmin or Iqmax/Iqmin are then used in conjunction with Imax to calculated IpmaxUsed/IpminUsed and IqmaxUsed/IqminUsed. Please see the detailed pseudo-code at the bottom of this help topic for details of how these current limits are enforced.

Next the current is multiplied by a value FracOn which represents the fraction of the load that remains connected to the system. The FracOn models the Cease and Reconnect logic.

PERC1 logic was relatively simple: if the filtered voltage is less than Vcease for more than Tcease seconds, then a decision to cease a portion of the load is made. Then, after an additional delay of Tdelay seconds, the FracOn is reduced to a value of (1 - Fcease). Then the system will wait to see if the filtered voltage goes above Vrecon for more than Trecon seconds at which time it will begin ramping the FracOn value back up over a time of Tramp seconds to a value of (1 - Fcease + Fcease*Frecon).

PERC2 expands on this logic a lot by including 4 different zones in which ceasing may occur along with 4 different Reconnection and Ramping times as described in the following table.

 

Zone

Logic to Enter Zone

TreconUsed and TrampUsed

After the Zone is reached , what other zones continue to be checked

 

Cease Zone (Blue Zone)

(Vfilt < VLcease ) for Tcease seconds

OR (Vfilt > VHcease) for Tcease seconds

TreconUsed = Trecon

TrampUsed = Tramp*Lfm

Long Cease High Zone

Long Cease Low Zone

Frequency Zone

 

Long Cease Low Voltage Zone (Red Zone)

4 low voltage threshold/timer pairs

(VLC1/TVLC1, etc.)

TreconUsed = TLreconL

TrampUsed= TLrmapL

Frequency Zone

 

Long Cease High Voltage Zone (Purple Zone)

4 high voltage threshold/timer pairs

(VHC1/TVHC1, etc.)

TreconUsed = TLreconH

TrampUsed= TLrmapH

Frequency Zone

 

High or Low Frequency Zone

1 low and 1 high frequency threshold/timer

(VHC1/TVHC1 OR VLC1/TVLC1)

TrecondUsed = Infinite

TrampUsed = Infinite

Nothing is checked

Reconnection will never occur

Additional detail is included below to describe how these timers are reset and how a voltage drops after the model begins ramping is handled. See the pseudo-code and diagrams below for more details.

Finally, the output goes through another delay block using the Tt time constant to result a final desired current for each path. The treatment of this model in the algebraic network boundary equations is then a constant current.

 

Model Equations and/or Block Diagrams

Model Parameters

Added the 6 integer flags at the start of the parameter list in September 25, 2026 patch of Simulator 24

Index

Parameter

Description

Default

0

VLMflag

Low Voltage cease check (0 to not do the check; Else do the check)

1

1

VHMflag

High Voltage cease check (0 to not do the check; Else do the check)

1

2

VLLflag

Long Low Voltage cease check (0 to not do the check; Else do the check)

1

3

VHLflag

Long High Voltage cease check (0 to not do the check; Else do the check)

1

4

FLflag

Low Frequency cease check (0 to not do the check; Else do the check)

1

5

FHflag

High Frequency cease check (0 to not do the check; Else do the check)

1

6

Lfm

Loading factor used to calculate MVAbase of model as MWinit/Lfm.

If Lfm < 0.001 then software will use a value of 1.000

0.80

7

QPratio

Q/P ratio for Q0 computation from P0 when used as a component of a CompLoad.

When used as a stand-alone load model, Q0 = Qinit always.

0.66

8

Tt

Time delay for outputs [seconds] (If < 4*TimeStep will be treated as 4*TimeStep)

0.02

9

Tv

Voltage measurement time constant [s]

0.02

10

Tf

Frequency measurement time constant [s]

0.02

11

Dbdl

Deadband on frequency response low (<=0) [pu]

0.00

12

Dbdh

Deadband on frequency response high (>=0) [pu]

0.00

13

Kdroop

Frequency droop [per unit]

10.00

14

Kvp

Proportional constant for active power washout

0.02

15

Tvp

Time constant for active power washout [seconds]

0.02

16

Kvq

Proportional constant for reactive power washout

0.50

17

Tvq

Time constant for reactive power washout [seconds]

0.10

18

Tap

Lead time constant for real power path [seconds]

0.00

19

Tbp

Lag time constant for real power path [seconds]

0.00

20

Taq

Lead time constant for reactive power path [seconds]

0.00

21

Tbq

Lag time constant for reactive power path [seconds]

0.00

22

nP

Active Power Exponential

0.00

23

nQ

Reactive Power Exponential

1.00

24

Ipmax

Maximum Ip [per unit]

1.00

25

Ipmin

Minimum Ip [per unit]

0.00

26

Iqmax

Maximum Iq [per unit]

0.66

27

Iqmin

Minimum Iq [per unit]

-0.66

28

Imax

Maximum total current [per unit]

2.00

29

Fcease

Fraction that will cease (between 0 and 1)

1.00

30

Frecon

Of the fraction that ceases, this is the fraction that then reconnects (>=0).
Frecon > 1.0 allowed for a load that comes back above the initial value after reconnecting.

1.00

31

Tdelay

Time delay to cease after detection. Same for delay for all cease zones (>= 0) [seconds]

0.00

32

VLrecon

Low Voltage threshold to initiate power ramp reconnection logic [per unit]

0.80

33

VHrecon

High Voltage threshold to initiate power ramp reconnection logic [per unit]

2.00

34

Tramp

Cease logic Ramp up time for portion of load that reconnects to ramp from
0 to 100% at full Mbase (>= 0) [seconds]. TrampUsed = Tramp*Lfm

0.15

35

Trecon

Reconnection time delay for ramp up logic to be initiated for cease logic [per unit]

0.05

36

VLcease

Low Voltage threshold for the Cease logic [per unit]

0.80

37

VHcease

High Voltage threshold for the Cease logic [per unit]
(Negative or Zero value indicates that this threshold should be ignored)

2.00

38

Tcease

Low Time delay for Cease logic to be initiated (>= 0) [seconds]

0.01

39

TLrampL

Long Low Cease logic Ramp up time. (>= 0) [seconds]. TrampUsed = TrampLL*Lfm

5.00

40

TLreconL

Long Low Cease Time delay for ramp up logic to be initiated (>= 0) [seconds]

0.05

41

VLC1

First Low Voltage threshold for Long Cease [per unit]

0.90

42

TVLC1

First Low Time delay for Long Cease to be initiated (>= 0) [seconds]

2.00

43

VLC2

Second Low Voltage threshold for Long Cease [per unit]

0.80

44

TVLC2

Second Low Time delay for Long Cease to be initiated (>= 0) [seconds]

0.50

45

VLC3

Third Low Voltage threshold for Long Cease [per unit]

0.50

46

TVLC3

Third Low Time delay for Long Cease to be initiated (>= 0) [seconds]

0.25

47

VLC4

Fourth Low Voltage threshold for Long Cease [per unit]

0.35

48

TVLC4

Fourth Low Time delay for Long Cease to be initiated (>= 0) [seconds]

0.15

49

TLrampH

Long High Cease logic Ramp up time. (>= 0) [seconds]. TrampUsed = TrampLL*Lfm

5.00

50

TLreconH

Long High Cease Time delay for ramp up logic to be initiated (>= 0) [seconds]

0.05

51

VHC1

First High Voltage threshold for Long Cease [per unit]
(Negative or Zero value indicates that this threshold should be ignored)

1.10

52

TVHC1

First High Time delay for Long Cease to be initiated (>= 0) [seconds]

1.00

53

VHC2

Second High Voltage threshold for Long Cease [per unit]
(Negative or Zero value indicates that this threshold should be ignored)

2.00

54

TVHC2

Second High Time delay for Long Cease to be initiated (>= 0) [seconds]

99.00

55

VHC3

Third High Voltage threshold for Long Cease [per unit]
(Negative or Zero value indicates that this threshold should be ignored)

2.00

56

TVHC3

Third High Time delay for Long Cease to be initiated (>= 0) [seconds]

99.00

57

VHC4

Fourth High Voltage threshold for Long Cease [per unit]
(Negative or Zero value indicates that this threshold should be ignored)

2.00

58

TVHC4

Fourth High Time delay for Long Cease to be initiated (>= 0) [seconds]

99.00

59

FLC1

Low Frequency Threshold for Forever Cease [Hz]

57.00

60

TFLC1

Low Frequency Time Delay for Forever Cease to be initiated (>= 0) [seconds]

999.00

61

FHC1

High Frequency Threshold for Forever Cease [Hz]

63.00

62

TFHC1

High Frequency Time Delay for Forever Cease to be initiated (>= 0) [seconds]

999.00